.TH AC 1 "2010 August 16"
.SH NAME
ac \-  print statistics about users' connect time
.SH SYNOPSIS
.hy 0
.na
.TP
.B ac
[
.B \-d
|
.B \-\-daily-totals
]
[
.B \-y
|
.B \-\-print-year
]
.br
[
.B \-p
|
.B \-\-individual-totals
]
[
.I people
]
.br
[
.B \-f
|
.B \-\-file
.I filename
]
[
.B \-a
|
.B \-\-all-days
]
.br
[ 
.B \-\-complain 
]
[
.B \-\-reboots 
]
[
.B \-\-supplants
]
.br
[
.B \-\-timewarps 
]
[
.B \-\-compatibility
]
.br
[
.B \-\-tw-leniency
.I num
]
[
.B \-\-tw-suspicious
.I num
]
.br
[
.B \-z
|
.B \-\-print-zeros
]
[
.B \-\-debug
]
.br
[
.B \-V
|
.B \-\-version 
]
[
.B \-h
|
.B \-\-help 
]
.ad b
.hy 1
.SH DESCRIPTION
.LP
.B ac 
prints out a report of connect time (in hours) based on the
logins/logouts in the current
.I wtmp
file.  A total is also printed out.
.LP
The accounting file 
.I wtmp
is maintained by 
.BR init (8)
and
.BR login (1).
Neither 
.B ac
nor
.B login
creates the 
.I wtmp
if it doesn't exist, no accounting is done.  To begin accounting, create 
the file with a length of zero.  
.LP
NOTE:  The 
.I wtmp
file can get really big, really fast.  You might want to trim it every 
once and a while.
.LP
GNU 
.B ac 
works nearly the same UNIX 
.BR ac , 
though it's a little
smarter in several ways.  You should therefore expect differences in
the output of GNU 
.B ac
and the output of 
.BR ac 's 
on other systems.
Use the command
.BI info " accounting"
to get additional information.
.SH OPTIONS
.PD 0
.TP
.B \-d, \-\-daily-totals
Print totals for each day rather than just one big total at the
end.  The output looks like this:
        Jul  3  total     1.17
        Jul  4  total     2.10
        Jul  5  total     8.23
        Jul  6  total     2.10
        Jul  7  total     0.30
.TP
.B \-p, \-\-individual-totals
Print time totals for each user in addition to the usual
everything-lumped-into-one value.  It looks like:
        bob       8.06
        goff      0.60
        maley     7.37
        root      0.12
        total    16.15
.TP
.I people
Print out the sum total of the connect time used by all of the
users included in 
.I people.  
Note that 
.I people
is a space separated list of valid user names; wildcards are not allowed.
.TP
.BI "\-f, \-\-file " filename
Read from the file 
.I filename
instead of the system's 
.I wtmp
file.
.TP
.B \-\-complain
When the 
.I wtmp
file has a problem (a time-warp, missing record, or
whatever), print out an appropriate error.
.TP
.B \-\-reboots
Reboot records are NOT written at the time of a reboot, but when
the system restarts; therefore, it is impossible to know exactly
when the reboot occurred.  Users may have been logged into the
system at the time of the reboot, and many 
.B ac's
automatically 
count the time between the login and the reboot record 
against the user (even though all of that time shouldn't be, perhaps, 
if the system is down for a long time, for instance).  If you want to
count this time, include the flag.  
*For vanilla 
.B ac
compatibility, include this flag.*
.TP
.B \-\-supplants
Sometimes, a logout record is not written for a specific terminal,
so the time that the last user accrued cannot be calculated.  If
you want to include the time from the user's login to the next
login on the terminal (though probably incorrect), include this
you want to include the time from the user's login to the next
login on the terminal (though probably incorrect), include this
flag.  
*For vanilla 
.B ac
compatibility, include this flag.*
.TP
.B \-\-timewarps
Sometimes, entries in a
.I wtmp
file will suddenly jump back into the past without a clock change
record occurring.  It is impossible to know how long a user was logged
in when this occurs.  If you want to count the time between the login
and the time warp against the user, include this flag.  *For vanilla
.B ac
compatibility, include this flag.*
.TP
.B \-\-compatibility
This is shorthand for typing out the three above options.
.TP
.B \-a, \-\-all-days
If we're printing daily totals, print a record for every day instead of
skipping intervening days where there is no login activity.  Without
this flag, time accrued during those intervening days gets listed under
the next day where there is login activity.
.TP
.BI \-\-tw-leniency " num"
Set the time warp leniency to 
.I num 
seconds.  Records in 
.I wtmp
files might be slightly out of order (most notably when two logins
occur within a one-second period - the second one gets written first).
By default, this value is set to 60.  If the program notices this
problem, time is not assigned to users unless the
.B \-\-timewarps
flag is used.
.TP
.BI \-\-tw-suspicious " num"
Set the time warp suspicious value to 
.I num 
seconds.  If two records in the
.I wtmp
file are farther than this number of seconds apart, there is a problem
with the
.I wtmp
file (or your machine hasn't been used in a year).  If the program
notices this problem, time is not assigned to users unless the
.B \-\-timewarps
flag is used.
.TP
.B \-y, \-\-print-year
Print year when displaying dates.
.TP
.B \-z, \-\-print-zeros
If a total for any category (save the grand total) is zero, print it.
The default is to suppress printing.
.TP
.B \-\-debug
Print verbose internal information.
.TP
.B \-V, \-\-version
Print the version number of 
.B ac
to standard output and quit.
.TP
.B \-h, \-\-help
Prints the usage string and default locations of system files to
standard output and exits.
.SH FILES
.I wtmp
.RS
The system wide login record file. See
.BR wtmp (5)
for further details.
.LP

.SH AUTHOR
The GNU accounting utilities were written by Noel Cragg
<noel@gnu.ai.mit.edu>. The man page was adapted from the accounting
texinfo page by Susan Kleinmann <sgk@sgk.tiac.net>.
.SH "SEE ALSO"
.BR login (1),
.BR wtmp (5),
.BR init (8),
.BR sa (8)
